package com.settlement.system.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.settlement.system.model.entity.BsOmsOrderDetail;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@Data
public class BsOmsOrderVo implements Serializable {

    private String id;

    /**
     * 店铺ID
     */
    private String storeName;


    /**
     * 内部订单号
     */
    private String oId;


    /**
     * 线上订单号
     */
    private String mergeSoId;


    /**
     * 下单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime orderDate;


    /**
     * 付款日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime payDate;


    /**
     * 发货日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime sendDate;


    /**
     * 应付金额
     */
    private BigDecimal payAmount = BigDecimal.ZERO;


    /**
     * 已付金额
     */
    private BigDecimal paidAmount = BigDecimal.ZERO;
    /**
     * 买家实付金额
     */
    private BigDecimal buyerPaidAmount = BigDecimal.ZERO;

    /**
     * 卖家实收金额
     */
    private BigDecimal sellerIncomeAmount = BigDecimal.ZERO;


    /**
     * 总数量
     */
    private Integer qty = 0;


    /**
     * 商品总成交金额
     */
    private BigDecimal amount = BigDecimal.ZERO;


    /**
     * 状态
     */
    private String status;


    /**
     * 发货仓
     */
    private String sendInventory;


    /**
     * 支付单号
     */
    private String outerPayId;


    /**
     * 平台创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime created;

    private List<BsOmsOrderDetail> detailList = new ArrayList<>();
}
